1. Field of the Invention
Embodiments of the present invention relate generally to computer networks and more specifically to a system and method for SAM-3 prioritization in iSCSI using 802.1q Ethernet prioritization.
2. Description of the Related Art
In certain computing environments, storage resources on at least one storage server are provided through an Ethernet network to one or more client computing devices. The client computing devices gain access to non-volatile mass storage resources on the storage sever through a block-level protocol, such as Internet small computer system interface (iSCSI).
In an example scenario, a cluster of client computing devices communicates with a storage server through an Ethernet network, where each client computing device accesses one or more virtual disks on the storage server. In such a scenario, a given client computing device is configured to establish an iSCSI login session with the storage server and to access one or more specifically named virtual disks. The client computing device is able to interpret the block and file system structure of the virtual disk, which typically follows the block and file system structure of an otherwise locally attached disk drive. The client computing devices, along with other computing systems that share the Ethernet network, commonly run user applications such as web browsers, web servers, email client-server systems, and voice over IP (VoIP) applications. These user applications, which are generally less sensitive to latency, contribute a mix of non-iSCSI traffic that competes with iSCSI traffic for instantaneous bandwidth over the Ethernet network.
One drawback of existing iSCSI network architectures is that high-priority iSCSI traffic is forced to compete on an equal basis with other, lower-priority network traffic, leading to suboptimal iSCSI performance. For example, high-priority SCSI access operations, such as demand page requests, are typically marked as high-priority within a SCSI architecture model-3 (SAM-3) command, but there is no way to prioritize these requests relative to other Ethernet network traffic. Consequently, some applications that generate high-priority iSCSI traffic suffer significant performance problems with the increased network latencies caused by lower-priority traffic.
As the foregoing illustrates, what is needed in the art is a more efficient technique for transmitting iSCSI traffic over Ethernet to improve the overall performance of applications that generate high-priority iSCSI traffic.